Custom documents are documents that are personalized or tailored in some way to the particular user of the document. Two growing applications of custom documents are in the domain of variable data printing, as well as in web personalization.
Traditional approaches to custom document creation are non-automated and therefore user-intensive, and result in documents that are typically quite similar: the layout is the same for all instances, regardless of the available content pieces. Furthermore, the document creator is responsible for ensuring that the final document adheres to good design principles, and is therefore aesthetically pleasing. Thus the document creator himself typically creates the document template according to his preferred design criteria, which requires knowledge about document design and how to best achieve the desired qualities in a particular instance of the document.
Known methods for automated creation of documents have focused more on the particular types of documents, and not on modeling the problem in a general way in order to address all types of documents. Existing work provides methods for creating diagrams (see Dengler, E. Friedell, M., Marks, J., Constraint-Driven Diagram Layout, Proceedings of the 1993 IEEE Symposium on Visual Languages, pages 330–335, Bergen, Norway, 1993), or multimedia presentations (see Rousseau, F., Garcia-Macias, A., Valdeni de Lima, J., and Duda, A., User Adaptable Multimedia Presentations for the WWW, Electronic Proceedings from the 8th International World Wide Web Conference, 1999), or flowcharts and yellow pages (see Graf, W. H., The Constraint-Based Layout Framework LayLab and Applications, Electronic Proceedings of the ACM Workshop on Effective Abstractions in Multimedia, 1995). Others have explored automating the process of web document layout (see Kroener, A., The Design Composer: Context-Based Automated Layout for the Internet, Proceedings of the AAAI Fall Symposium Series: Using Layout for the Generation, Understanding, or Retrieval of Documents, 1999). None of the existing automated approaches use past experience to help generate a new document.
Using past experience to help in the generation of new documents is limited to whatever experience the human creator applies when creating a new document. This experience is not readily transferable from one document to the next, unless that same expert creates all documents, and is able to remember the particulars of his past documents. Furthermore, there is no easy way for a novice creator or programmatic (non-human) creator to draw upon this experience in order to create a document.
What is needed in the art in order to enable an efficient and experience-guided assembly of a custom document, is a means for finding existing documents that are similar to the current desired document, and using the existing documents as a starting point for problem solving.